Tasten & Command Beschreibung
=============================


Command-Gruppe "VAR": Variable
==============================

Mit den VAR-Commands kann man eine ganze Menge anstellen.
Nicht nur fr skript-internen Einsatz wie bei den LOOP-Commands gezeigt
(s. Kapitel "BTCH"), sondern es lassen sich gar Berechnungen in Excel
automatisieren (DM in Euro u.s.w.) u.v.m.


/VAR.>.CLIP ...........: Kopiert die Variable VAR in die Zwischenablage (clip=VAR)
/VAR.<.CLIP [t] .......: Weist der Variablen VAR einen in der Zwischenablage befindlichen Wert zu (VAR=clip),
                         optional: ignoriere Tausender-Trennzeichen <t>
------------------------
Mit Hilfe dieser Commands wre z.B. eine Berechnung in Excel mglich.
Eine mgliche Vorgehensweise:

1. Ein Zelleninhalt von Excel wird in die Zwischenablage kopiert
2. Der Inhalt der Zwischenablage der Variablen zugewiesen
3. Die Berechnung der Variablen durchgefhrt
4. Die Variable an eine Excel-Zelle gesendet

Beispiel:

{/BTCH.EXPLICIT}
{HOLD.CONTROL}c
{/VAR.<.CLIP}
{/VAR.MUL 0,51129188}
{KEY.ESC}{KEY.RIGHT}
{/VAR.SEND,}
{KEY.LEFT}{KEY.DOWN}

Dieses Skript rechnet den Wert einer Excel-Zelle von DM in Euro um,
schreibt das Ergebnis in die rechts danebenliegende Zelle und bewegt
den Cursor in die Folge-Zelle der DM-Spalte.

--> Hinweis
Der Command zum Kopieren der VAR in die Zwablage kann zwar erkennen, ob es ggf. ein Komma in
einen Dezimal-Punkt wandeln mu (intern rechnet das System mit Punkt), bei einem Tausender-
Trennpunkt wie "1.234,56" wird es allerdings schwieriger.
Wird fr den <t>-Parameter "." angegeben, so ignoriert RK den Punkt, indem es den Text zuvor in
"1234,56" wandelt und kann ihn anschlieend der VAR in Form des Wertes 1234.56 bergeben.

Beispiel: {/VAR.<.CLIP .}


/VAR.<.MCI mod ........: Weist Variablen VAR MCI Status-Wert zu
------------------------
Dieser Command wurde fr die MCI-Commands eingerichtet (siehe dort), um verschiedene
Zustnde des CD-Players in der VAR (temporr) speichern zu knnen.

=0: VAR = Aktueller Titel
=1: VAR = Gesamt-Anzahl Titel der inliegenden CD
=2: VAR = CD wird z.Zt. abgespielt (VAR=1) bzw. wird nicht abgespielt (VAR=0)


/VAR.<.PROF mod .......: Weist Variablen VAR Wert der (temp) Prof.Einst. zu
------------------------
Dieser Command wurde fr die Commands ME.PROF.TMP eingerichtet (siehe dort), um die (temporren)
Einstellungen des aktuellen Profils ermitteln und rechnerisch ndern zu knnen.
Da die Spalten- und Zeilen-Anzahl und die Knopf-Breiten und -Hhen nderbar sind, gestattet
dieser Command auch jeweils die Speicherung (nicht auf Disk) dieser Werte des aktuell eingestellten
Profils. Liegt bereits eine temoprre Einstellung fr den angegebenen Parameter vor, so wird diese
auch verwendet. Ansonsten wird der im Bearbeiten > Profil Dialog eingestellte Grundwert als
Ausgangswert genommen.

=0: VAR = Spalten-Anzahl des aktuellen Profils
=1: VAR = Zeilen-Anzahl  des aktuellen Profils
=2: VAR = Knopf-Breite   des aktuellen Profils
=3: VAR = Knopf-Hhe     des aktuellen Profils

Beispiel: {/VAR.<.PROF 0}


/VAR.<.WIN ............: Speichert die Nummer des aktiven Fensters in der akt. VAR fr sptere Aktivierung
/VAR.>.WIN ............: Aktiviert das Fenster, deren Nummer zuvor in der akt. VAR gespeichert wurde
------------------------

Beispiel-Skript:

{/BTCH.EXPLICIT}
{/VAR.<.WIN}
{/APP.ACTIVATION.OFF}
{/CODE.KEY 91}
{KEY.UP}{KEY.UP}{KEY.UP}{KEY.UP}{KEY.UP}{KEY.UP}
{KEY.RIGHT}
{KEY.DOWN}{KEY.DOWN}
{KEY.ENTER}
{/VAR.>.WIN}

Dieses Beispiel ffnet das Drucker-Fenster (sofern das Start-Men nicht abweichend
strukturiert ist) und aktiviert anschlieend das Fenster, welches vor dem Aufruf des
Skriptes aktiv war.

--> Beachte!
Eine Fenster-Nummer wird durch Windows dynamisch zugeordnet. Ein erneutes ffnen eines
zuvor geschlossenen Fensters fhrt i.d.R. dazu, da es eine neue Fenster-Nummer erhlt. 


/VAR.SET val ..........: Weist der Variablen VAR den Wert <val> zu (VAR=val)
/VAR.ADD val ..........: Addiert zur Variablen VAR den Wert <val> (VAR=VAR+val)
/VAR.SUB val ..........: Subtrahiert von der Variablen VAR den Wert <val> (VAR=VAR-val)
/VAR.MUL val ..........: Multipliziert die Variable VAR mit dem Wert <val> (VAR=VAR*val)
/VAR.DIV val ..........: Dividiert die Variable VAR durch den Wert <val> (VAR=VAR/val)
------------------------
Diese Commands dienen der Zuweisung und Berechnungen der Variablen.

Beispiel: {/VAR.SET 5}{/VAR.ADD 1.5}

Der Variablen-Wert betrgt nach Ausfhrung dieser Command-Folge 6,5.


/VAR.CLR ..............: Lscht die Variable VAR (VAR=0)
------------------------

Beispiel: {/VAR.CLR}


/VAR.CLP.SEARCH str ...: Sucht <str> in Zwablage und setzt VAR auf die 1ste gefundene Position
------------------------

Beispiel: {/VAR.CLP.SEARCH hello}

Wenn Zwablage = "say hello", dann wird VAR auf den Wert 5 gesetzt.


/VAR.ASK ..............: Weist der Variablen VAR einen whrend der Ausfhrung festzulegenden Wert zu
------------------------

Beispiel: {/VAR.ASK}


/VAR.FLD.ASK ..........: ffnet Dialog um aktuelles Feld-Element und Feld-Werte zu ndern
/VAR.FLD.CHANGE elm ...: Gestattet es die aktuelle Feld- Element- Nr. <elm> (element, 1-10) zu ndern
/VAR.FLD.CLR ..........: Lscht alle Feld-Elemente und ndert setzt die aktuelle Feld-Element-Nr. auf 1
------------------------
Ab v7.7 wurde RK dadurch erweitert, da es nun 10 anstatt vorher eine Variable handhaben kann.
Alle normalen VAR-Commands beziehen sich auf das Feld-Element, das durch ASK oder CHANGE
ausgewhlt wurde. Zu Beginn ist der Vorgabewert Element = 1.
Z.B. wird der CLEAR-Command das Feld-Element 1 lschen, wenn Element 1 das aktuell ausge-
whlte Feld-Element ist. Um Element 3 zu lschen mu zuvor das aktuelle Feld-Element mittels
ASK oder CHANGE auf 3 gesetzt werden. Das selbe gilt fr VAR.ADD u.s.w.

Beispiel: {/VAR.FLD.ASK}
Beispiel: {/VAR.FLD.CHANGE 2}
Beispiel: {/VAR.FLD.CLR}


/VAR.FLD.ADD elm ......: Addiert VAR <elm> (Element, 1-10) zur aktuellen VAR (VAR=VAR+VAR<elm>)
/VAR.FLD.SUB elm ......: Subtrahiert von aktueller VAR die Var. VAR <elm> (1-10) (VAR=VAR-VAR<elm>)
/VAR.FLD.MUL elm ......: Multipliziert aktuelle VAR mit VAR <elm> (1-10) (VAR=VAR*VAR<elm>)
/VAR.FLD.DIV elm ......: Dividiert aktuelle VAR durch VAR <elm> (element, 1-10) (VAR=VAR/VAR<elm>)
------------------------

Beispiel:

{/BTCH.EXPLICIT}
{/VAR.FLD.CHANGE 1}
{/VAR.SET 55}
{/VAR.FLD.CHANGE 2}
{/VAR.SET 17}
{/VAR.FLD.CHANGE 1}
{/VAR.FLD.SUB 2}
{/VAR.VIEW}

Der VIEW-Command zeigt, das Feld-Element 1 nun den Wert 38 (55-17) aufweist.
Dieses Beispiel ist sicher kein ntzliches Skript und soll nur als Demo dienen.


/VAR.FLD.MRG e1,e2 ....: Verbindet Feld-Elemente e1 & e2, durch Punkt getrennt (VAR=VAR<e1>.VAR<e2>)
------------------------

Beispiel: {/VAR.FLD.MRG 1,2}

Ist VAR-1 = 12 und VAR-2 = 34, so erhlt das aktuelle Feld-Element den Wert 12.34 bzw. 12,34.


/VAR.FLD.SWAP elm .....: Tauscht den aktuellen VAR-Wert mit VAR <elm> (1-10) aus (VAR=VAR<elm>, VAR<elm>=VAR)
------------------------
Dies tauscht also die Inhalte zweier Feld-Elemente aus.

Beispiel: {/VAR.FLD.SWAP 2}

Basierend auf dem oberen Beispiel ist nun Feld-Element 1 = 17 und 2 = 38.

--> Beachte
Im Profil Script-Calculator wurde regen Gebrauch dieser Commands gemacht bzw. haben diesen
erst ermglicht. Die bekannten Funktionen M+ MR etc. bedienen sich der Feld-Speicher.


/VAR.MOD mod ..........: Modifiziert VAR in verschiedenen Modi
------------------------
Hiermit kann VAR entsprechend der Parameter-Angabe <mod> (0-3) verschiedenartig modifiziert werden:

=0: absolut: aus -1 wird 1, 1 bleibt 1
=1: x-1    : aus -1 wird 1, aus 1 wird -1
=2: integer: aus 1,23 wird 1
=3: nur dez: aus 1,23 wird 23

Beispiel: {/VAR.MOD 2}


/VAR.RND [min,max] ....: Weist der Variablen eine Zufallszahl im Bereich <min> und <max> zu (VAR=RND) (Vorg. VAR1/2)
------------------------

Beispiel:
{/VAR.RND 1,5}{/VAR.SEND}

Dieses Beispiel gibt eine zufllige Zahl zwischen 1 und 5 aus.

-> Hinweis
Ab v8.1.4 kann der Parameter weggelassen werden, um statt dessen die Vriablen VAR1/2 einzusetzen.


/VAR.SEND .............: Sendet die Vaiable VAR als Zeichenkette
------------------------
Dieser Command dient der Ausgabe der Variablen (z.B. Ergebnis einer Berechnung).

Beispiel: {/VAR.SEND}


/VAR.SEND, ............: Sendet die Variable VAR als Zeichenkette im Komma-Format (1,5)
/VAR.>.CLIP, ..........: Kopiert die Variable VAR im Komma-Format in die Zwablage (clip=VAR)
------------------------
Fr die deutsche Standard-Einstellung der Systemsteuerung wurde diese komma-
untersttzenden Commands implementiert (s. obiges Beispiel).


/VAR.SND.FORMAT str ...: Sendet Variable im Format <str>
/VAR.CLP.FORMAT str ...: Kopiert Variable im Format <str> in die Zwablage
------------------------
Mit diesen Commands sind formatierte Ausgaben mglich.

Beispiel: {/VAR.SND.FORMAT #,##0.00}

Die Ausgabe wrde sich im folgenden Format prsentieren: 1.234,56


/VAR.VIEW .............: Gibt den Wert von VAR im internen Textbetrachter aus
------------------------

Beispiel: {/VAR.VIEW}